package com.neuedu.shop.service.impl;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import com.neuedu.shop.mapper.CartItemMapper;
import com.neuedu.shop.pojo.CartItem;
import com.neuedu.shop.service.CartItemService;

/**
 * @author ZhangHongRui
 *
 *         2020年1月8日
 */
@Service
@Transactional
public class CartItemServiceImpl implements CartItemService {

	@Autowired
	private CartItemMapper mapper;

	@Override
	public void insert(CartItem cartItem) {

		List<CartItem> items = findByUserid(cartItem.getUserid());
		for (int i = 0; i < items.size(); i++) {
			CartItem ci = items.get(i);
			// 如果添加的是同一件商品
			if (ci.getProduct().getId().equals(cartItem.getProductid())) {
				// 合并数量
//				System.out.println("第" + i + 1 + "次合并数量");
				ci.setPcount(ci.getPcount() + cartItem.getPcount());
//				System.out.println(ci.getPcount());
				mapper.updatePcount(ci);
				return;
			}
		}

		// 如果不是 在填新的
		mapper.insert(cartItem);
	}

	@Override
	public List<CartItem> findByUserid(Integer userid) {
		return mapper.findByUserid(userid);
	}

}
